﻿
using System.Xml.Serialization;
using CMISForSharePoint.cmisEnums;

namespace CMISForSharePoint.cmisTypes
{

    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyXml))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyUri))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyString))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyHtml))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDecimal))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDateTime))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyInteger))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyId))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyBoolean))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("property", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisProperty
    {

        private string nameField;

        private string indexField;

        private System.Xml.XmlAttribute[] anyAttrField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "integer")]
        public string index
        {
            get
            {
                return this.indexField;
            }
            set
            {
                this.indexField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyDateTime", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyDateTime : cmisProperty
    {

        private System.DateTime valueField;

        private bool valueFieldSpecified;

        private enumPropertyType propertyTypeField;

        public cmisPropertyDateTime()
        {
            this.propertyTypeField = enumPropertyType.datetime;
        }

        /// <remarks/>
        public System.DateTime value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.datetime)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyDecimal", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyDecimal : cmisProperty
    {

        private decimal valueField;

        private bool valueFieldSpecified;

        private enumPropertyType propertyTypeField;

        public cmisPropertyDecimal()
        {
            this.propertyTypeField = enumPropertyType.@decimal;
        }

        /// <remarks/>
        public decimal value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.@decimal)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyHtml", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyHtml : cmisProperty
    {

        private System.Xml.XmlElement[] anyField;

        private enumPropertyType propertyTypeField;

        public cmisPropertyHtml()
        {
            this.propertyTypeField = enumPropertyType.html;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.html)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyId", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyId : cmisProperty
    {

        private string valueField;

        private enumPropertyType propertyTypeField;

        private string hrefField;

        public cmisPropertyId()
        {
            this.propertyTypeField = enumPropertyType.id;
        }

        /// <remarks/>
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.id)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "anyURI")]
        public string href
        {
            get
            {
                return this.hrefField;
            }
            set
            {
                this.hrefField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyInteger", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyInteger : cmisProperty
    {

        private string valueField;

        private enumPropertyType propertyTypeField;

        public cmisPropertyInteger()
        {
            this.propertyTypeField = enumPropertyType.integer;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "integer")]
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.integer)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyString", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyString : cmisProperty
    {

        private string valueField;

        private enumPropertyType propertyTypeField;

        public cmisPropertyString()
        {
            this.propertyTypeField = enumPropertyType.@string;
        }

        /// <remarks/>
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.@string)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyUri", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyUri : cmisProperty
    {

        private string valueField;

        private enumPropertyType propertyTypeField;

        public cmisPropertyUri()
        {
            this.propertyTypeField = enumPropertyType.uri;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "anyURI")]
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.uri)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyXml", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyXml : cmisProperty
    {

        private System.Xml.XmlElement[] anyField;

        private enumPropertyType propertyTypeField;

        public cmisPropertyXml()
        {
            this.propertyTypeField = enumPropertyType.xml;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.xml)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("propertyBoolean", Namespace = "http://www.cmis.org/2008/05", IsNullable = true)]
    public partial class cmisPropertyBoolean : cmisProperty
    {

        private bool valueField;

        private bool valueFieldSpecified;

        private enumPropertyType propertyTypeField;

        public cmisPropertyBoolean()
        {
            this.propertyTypeField = enumPropertyType.boolean;
        }

        /// <remarks/>
        public bool value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }


        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        [System.ComponentModel.DefaultValueAttribute(enumPropertyType.boolean)]
        public enumPropertyType propertyType
        {
            get
            {
                return this.propertyTypeField;
            }
            set
            {
                this.propertyTypeField = value;
            }
        }
    }


}